<!-- HTML header for doxygen 1.8.13-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Bluetooth LE Mesh Library: Mesh Battery Client</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  $(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen_style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><a href="http://www.cypress.com/"><img alt="Logo" src="IFXCYP_one-line.png"/></a></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Bluetooth LE Mesh Library</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('group__wiced__bt__mesh__battery__client.html','');});
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">Mesh Battery Client<div class="ingroups"><a class="el" href="group__wiced__bt__mesh.html">LE Mesh</a> &raquo; <a class="el" href="group__wiced__bt__mesh__models.html">Mesh Models Library API</a></div></div>  </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">General Description</h2>
<p>The AIROC Mesh Battery Client module provides a way for an application to retrieve the battery status of a mesh node. </p>
<p>The module can also process unsolicited status messages from mesh nodes.</p>
<p>On startup the application should call wiced_bt_mesh_model_battery_client_init function providing the callback that will be called when battery status message is received. The application can call the wiced_bt_mesh_battery_client_send_get function to retrieve the battery status of a mesh device. </p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:ga2a4913b233aa084085a604cac4967929"><td class="memItemLeft" align="right" valign="top">typedef void()&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wiced__bt__mesh__battery__client.html#ga2a4913b233aa084085a604cac4967929">wiced_bt_mesh_battery_client_callback_t</a>(uint16_t event, <a class="el" href="structwiced__bt__mesh__event__t.html">wiced_bt_mesh_event_t</a> *p_event, <a class="el" href="structmesh__battery__event__t.html">mesh_battery_event_t</a> *p_data)</td></tr>
<tr class="memdesc:ga2a4913b233aa084085a604cac4967929"><td class="mdescLeft">&#160;</td><td class="mdescRight">Battery Client callback.  <a href="#ga2a4913b233aa084085a604cac4967929">More...</a><br /></td></tr>
<tr class="separator:ga2a4913b233aa084085a604cac4967929"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:gafb463c5826c849d1d354bd9400744bf0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wiced__bt__mesh__battery__client.html#gafb463c5826c849d1d354bd9400744bf0">wiced_bt_mesh_model_battery_client_init</a> (<a class="el" href="group__wiced__bt__mesh__battery__client.html#ga2a4913b233aa084085a604cac4967929">wiced_bt_mesh_battery_client_callback_t</a> *p_callback, wiced_bool_t is_provisioned)</td></tr>
<tr class="memdesc:gafb463c5826c849d1d354bd9400744bf0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Battery Client Module initialization.  <a href="#gafb463c5826c849d1d354bd9400744bf0">More...</a><br /></td></tr>
<tr class="separator:gafb463c5826c849d1d354bd9400744bf0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa0515e868daea1bafa72491319aceef9"><td class="memItemLeft" align="right" valign="top">wiced_bool_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wiced__bt__mesh__battery__client.html#gaa0515e868daea1bafa72491319aceef9">wiced_bt_mesh_model_battery_client_message_handler</a> (<a class="el" href="structwiced__bt__mesh__event__t.html">wiced_bt_mesh_event_t</a> *p_event, uint8_t *p_data, uint16_t data_len)</td></tr>
<tr class="memdesc:gaa0515e868daea1bafa72491319aceef9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Battery Client Message Handler.  <a href="#gaa0515e868daea1bafa72491319aceef9">More...</a><br /></td></tr>
<tr class="separator:gaa0515e868daea1bafa72491319aceef9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6b7e1bcc36f0ebad5745743445a34758"><td class="memItemLeft" align="right" valign="top">wiced_result_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wiced__bt__mesh__battery__client.html#ga6b7e1bcc36f0ebad5745743445a34758">wiced_bt_mesh_battery_client_send_get</a> (<a class="el" href="structwiced__bt__mesh__event__t.html">wiced_bt_mesh_event_t</a> *p_event)</td></tr>
<tr class="memdesc:ga6b7e1bcc36f0ebad5745743445a34758"><td class="mdescLeft">&#160;</td><td class="mdescRight">Battery Client Send.  <a href="#ga6b7e1bcc36f0ebad5745743445a34758">More...</a><br /></td></tr>
<tr class="separator:ga6b7e1bcc36f0ebad5745743445a34758"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Typedef Documentation</h2>
<a id="ga2a4913b233aa084085a604cac4967929"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga2a4913b233aa084085a604cac4967929">&#9670;&nbsp;</a></span>wiced_bt_mesh_battery_client_callback_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void() wiced_bt_mesh_battery_client_callback_t(uint16_t event, <a class="el" href="structwiced__bt__mesh__event__t.html">wiced_bt_mesh_event_t</a> *p_event, <a class="el" href="structmesh__battery__event__t.html">mesh_battery_event_t</a> *p_data)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Battery Client callback. </p>
<p>The Battery Client callback is called by the Mesh Models library on receiving a Battery Status message from the peer</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">event</td><td>Event that the application should process (see <a class="el" href="wiced__bt__mesh__models_8h.html#BATTERY_EVENT">Mesh Battery Events</a>) </td></tr>
    <tr><td class="paramname">p_event</td><td>The information about the message received. The same pointer should be used in the reply if required.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None </dd></dl>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="gafb463c5826c849d1d354bd9400744bf0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gafb463c5826c849d1d354bd9400744bf0">&#9670;&nbsp;</a></span>wiced_bt_mesh_model_battery_client_init()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void wiced_bt_mesh_model_battery_client_init </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__wiced__bt__mesh__battery__client.html#ga2a4913b233aa084085a604cac4967929">wiced_bt_mesh_battery_client_callback_t</a> *&#160;</td>
          <td class="paramname"><em>p_callback</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">wiced_bool_t&#160;</td>
          <td class="paramname"><em>is_provisioned</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Battery Client Module initialization. </p>
<p>Application should call this function during startup to register a callback which will be executed when received message requires application processing.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">p_callback</td><td>The application callback function that will be executed by the mesh models library when application action is required, or when a reply for the application request has been received. </td></tr>
    <tr><td class="paramname">is_provisioned</td><td>If TRUE, the application is being restarted after being provisioned or after a power loss. If FALSE the model cleans up NVRAM on startup.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None </dd></dl>

</div>
</div>
<a id="gaa0515e868daea1bafa72491319aceef9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa0515e868daea1bafa72491319aceef9">&#9670;&nbsp;</a></span>wiced_bt_mesh_model_battery_client_message_handler()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">wiced_bool_t wiced_bt_mesh_model_battery_client_message_handler </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structwiced__bt__mesh__event__t.html">wiced_bt_mesh_event_t</a> *&#160;</td>
          <td class="paramname"><em>p_event</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t *&#160;</td>
          <td class="paramname"><em>p_data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>data_len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Battery Client Message Handler. </p>
<p>The application should call this models library function to process a message received from the Battery Server. The function parses and validates the message and if appropriate calls the application to perform functionality.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">p_event</td><td>Mesh event with information about received message. </td></tr>
    <tr><td class="paramname">p_data</td><td>Pointer to the data portion of the message </td></tr>
    <tr><td class="paramname">data_len</td><td>Length of the data in the message</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>WICED_TRUE if the message is for this company ID/Model combination, WICED_FALSE otherwise. </dd></dl>

</div>
</div>
<a id="ga6b7e1bcc36f0ebad5745743445a34758"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga6b7e1bcc36f0ebad5745743445a34758">&#9670;&nbsp;</a></span>wiced_bt_mesh_battery_client_send_get()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">wiced_result_t wiced_bt_mesh_battery_client_send_get </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structwiced__bt__mesh__event__t.html">wiced_bt_mesh_event_t</a> *&#160;</td>
          <td class="paramname"><em>p_event</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Battery Client Send. </p>
<p>The application can call this function to send get request to the Battery Server. The mesh event should contain the destination address and the application key index to be used to secure the message. In some cases the model can be configured by the provisioner to send the request to a specific address and use specific key. In that case application can use zeroes in the destination address and app key index fields.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">p_event</td><td>Mesh event created by the app for unsolicited message.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>WICED_BT_SUCCESS if message has been queued for transmission. </dd></dl>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath">
    <ul>
        <li class="footer">
            Generated for <b>Bluetooth LE Mesh Library</b> by <b>Cypress Semiconductor Corporation</b>.
            All rights reserved.
        </li>
    </ul>
</div>
</body>
</html>
